package com.dudu.utils;

import java.util.UUID;

import org.apache.commons.lang.StringUtils;

import com.dudu.access.RedisUtil;

/**
 * 全局唯一标识工具
 * @author zx
 *
 */
public class GuidUtil {

	private static final String KEY_NAME = "ID";
    
	/**
	 * 根据给定的命名空间生成全局唯一标识
	 * 先使用redis生成，如果redis生成失败，通过jdk的UUID类生成
	 * @param nameSpace
	 * @return
	 */
	public static String createGuid(String nameSpace) {
		String key = KEY_NAME;
		if (StringUtils.isNotEmpty(nameSpace)) {
			key = nameSpace + ":" + key;
		}
		long lid = RedisUtil.incr(key);
		if (lid == -1) {/** 通过redis读取失败 **/
			return String.valueOf(UUID.randomUUID());
		}
		return String.valueOf(lid);
	}

}
